package student.aistar.day08;

public class StaticBlockDemo {
    private int id = 10;//非静态属性
    private static int sid = 100; //静态属性

    //每次创建对象的时候, 都会走构造快
    public StaticBlockDemo(){
        System.out.println("钩爪方法");
        System.out.println("con-id: "+ id);
        System.out.println("con-sid: " + sid);
    }

    //普通代码块 - 每次创建对象的时候, 都会执行, 并且它的时机高于构造快.
    //一般不推荐在代码块中写普通代码块 - 里面的程序移植到构造快中.
    {
        System.out.println("普通代码块");
        System.out.println("b-id: " + id);
        System.out.println("b-sid: "+ sid);
    }

    //静态代码块 - JVM加载类进内存的时候, 立即调用静态代码块, 仅仅会执行一次, 执行时机诗最高
    static {
        System.out.println("静态代码块");
        System.out.println("s-sid: " + sid);
    }

    public static void main(String[] args) {
        StaticBlockDemo s = new StaticBlockDemo();

    }
}
